/******************************************************************************
** \file        adi/test/src/main.c
**
** \version     $Id: main.c 1615 2014-09-19 08:56:26Z fengxuequan $
**
** \brief       ADI layer test.
**
** \attention   THIS SAMPLE CODE IS PROVIDED AS IS. GOKE MICROELECTRONICS
**              ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR
**              OMMISSIONS
**
** (C) Copyright 2013-2014 by GOKE MICROELECTRONICS CO.,LTD
**
*****************************************************************************
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <fcntl.h>
#include <unistd.h>

#include "adi_sys.h"

#include "video.h"

//*****************************************************************************
//*****************************************************************************
//** Local Defines
//*****************************************************************************
//*****************************************************************************
#define ADI_TEST_DEBUG_LEVEL    GADI_SYS_LOG_LEVLE_INFO
#define ADI_MAIN_TASK_PRIORITY  42

//*****************************************************************************
//*****************************************************************************
//** Local structures
//*****************************************************************************
//*****************************************************************************

//*****************************************************************************
//*****************************************************************************
//** Global Data
//*****************************************************************************
//*****************************************************************************


//*****************************************************************************
//*****************************************************************************
//** Local Data
//*****************************************************************************
//*****************************************************************************


//*****************************************************************************
//*****************************************************************************
//** Local Functions Declaration
//*****************************************************************************
//*****************************************************************************



//*****************************************************************************
//*****************************************************************************
//** Local Functions
//*****************************************************************************
//*****************************************************************************

GADI_ERR app_initialize(void)
{
    GADI_ERR   err =  GADI_OK;

    /*system module init.*/
    err = gadi_sys_init();

    /*set debug level*/
    err = gadi_sys_set_log_level(ADI_TEST_DEBUG_LEVEL);

    return err;
}

void app_main_task(void *data)
{

    video_init();
    video_start_encode_stream();

    while(1)
    {
        gadi_sys_thread_sleep(1000);
    }
}


int main(int argc, char ** argv)
{
    app_initialize();

    gadi_sys_thread_create(app_main_task, NULL, ADI_MAIN_TASK_PRIORITY, 16 * 1024, "MainTask", NULL);
    gadi_sys_multi_task_start();

    return 0;
}


